上一篇拿了一段參考程式,以及自己寫的一小段與各位說明,我們人與機器的判斷狀況,這篇開始會開始逐項介紹我們在機器學習上會使用的功能。
以上我們上次介紹的部分是為,分類 Classification,最傳統的做法也是針對許多人最基礎的作法,也是常用在監督式學習,以上次我們的程式來說就是屬於一種 Classification 做法,今日我們要來談另外一種方式叫做 Regression
回歸的意思,相信這個字眼很多人也有聽過,那我們話不多說直接給他看下去。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cross_validation import train_test_split
db = pd.read_csv("MLB.csv","encoding="big5")
x = db[["1"]]
y = db[["2"]]
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=20170816)
------------------------------------------------
from sklearn import datasets,linear_model
regr=linear_model.LinearRegression()
regr.fit(x_train,y_train)
從上面程式來看,以虛線上方來說是將資料區下來做一個訓練資料,將資料切成兩份來做使用,其中有了四個參數,x_train,x_test,y_train,y_test,這四個參數,後方的 test_size=0.3 將 百分之 30 % 來做為測試,有 70 %資料是拿來訓練使用,後面的做法接下來就是拿進線性回歸來做分類,這個部分跟上一篇所做的 Classification 非常相近,一樣將參數使用 fit 做出資料,接著後續使用 matplotlib 把圖表給呈現出來,就會看出一條線的狀態,那條線就為線性回歸狀態。
當呈現出來的數值與點接近線段時,那這個結果就是我們要的,但是這個判斷方式也要經過查證,因為我們是利用 y = ax + b 的形式,來完成線性回歸的,因為每個 X 我們在上一篇講到就是會對應一個 Y 值的。
x = np.linspace(0,5,50)
y = 1.2 * x + 0.8 + 0.6 * np.random.randn(50)
以上是為某個大大所呈現出來的一個數據資料,因為我們在自主練習時很難找到實際的東西來做練習,所以通常會用假數據來做完美的練習,各位就可以使用我們上次所使用的 np.random.normal 也是可以,將兩邊數值取出來做資料辨識,再利用 sklearn 中的 LinearRegresstion 完成即可
那麼以上為本人對這次的簡單扼要介紹,以上為不專業AI的介紹,謝謝各位觀賞,那我們下篇見~~~~~
參考資料:https://dotblogs.com.tw/kevinya/2018/06/09/100819